Voice to Text. Speak in Mic and print in text

1. Create & Start the Virtual Env
2. Install voice recognition system with Python(SpeechRecognition, PyAudio)

(virtual_avatar) c:\Users\amit\miniconda3\envs>pip install SpeechRecognition
..
(virtual_avatar) c:\Users\amit\miniconda3\envs>pip install PyAudio
..
ERROR: Could not build wheels for pyaudio which use PEP 517 and cannot be installed directly
            
if pyaudio is not installed, try installing using pipwin

(virtual_avatar) c:\Users\amit\miniconda3\envs>conda install portaudio
(virtual_avatar) c:\Users\amit\miniconda3\envs>pip install pipwin
(virtual_avatar) c:\Users\amit\miniconda3\envs>pipwin install pyaudio
..
Successfully installed PyAudio-0.2.11
            
3. Run this code

import speech_recognition as sr

recognizer = sr.Recognizer()

def capture_voice_input():
    with sr.Microphone() as source:
        print("Listening...")
        audio = recognizer.listen(source)
    return audio
    
def convert_voice_to_text(audio):
    try:
        text = recognizer.recognize_google(audio)
        print("You said: " + text)
    except sr.UnknownValueError:
        text = ""
        print("Sorry, I didn't understand that.")
    except sr.RequestError as e:
        text = ""
        print("Error; {0}".format(e))
    return text

def process_voice_command(text):
    if "hello" in text.lower():
        print("Hello! How can I help you?")
    elif "goodbye" in text.lower():
        print("Goodbye! Have a great day!")
        return True
    else:
        print("I didn't understand that command. Please try again.")
    return False
    
def main():
    end_program = False
    while not end_program:
        audio = capture_voice_input()
        text = convert_voice_to_text(audio)
        end_program = process_voice_command(text)

if __name__ == "__main__":
    main()

(virtual_avatar) c:\Users\amit\miniconda3\envs>cd c:\go-here\Code\python\virtual_avatar
(virtual_avatar) c:\go-here\Code\python\virtual_avatar>python code.py
Listening ..